1. Field of the Invention
The invention relates to telecommunications and data communications, and in particular, to systems in which data is carried over a transmission link that uses self-synchronous scramblers.
2. Description of the Related Art
Examples of such transmission links include synchronous optical networking (SONET), Syncrhonous SDH, and OTN optical transmission systems using Packet over SONET/SDH (PoS), Generic Framing Procedure (GFP) or Asynchronous Transfer Mode (ATM) for data encapsulation. These links use self-synchronous data scramblers to prevent the potential harm that data from one subscriber could cause to data from other subscribers. The drawback to self-synchronous scramblers is that the descrambling process multiplies errors that occur in the transmission channel, which in turn can decrease the effectiveness of a linear cyclic error correction code (e.g., Cyclic Redundancy Check (CRC), BCH or Reed-Solomon) over the payload data.
The optical transmission equipment that forms the backbone of the public telecommunications network (i.e., SONET/SDH) uses a non return to zero (NRZ) line code. The critical advantage of the NRZ line code is that it makes the most efficient use of the channel bandwidth of any baseband line code, and is simple to implement. The main drawback to NRZ is that when there is no transition between the values of the bits in the transmitted data, there is no change in the level of the transmitted signal. The receiver relies on these transitions to synchronize its clock/data recovery circuit for determining the boundaries of the individual bits. During a long period with no line code transitions, the relative clock differences between the transmitter and receiver can cause the receiver to miss-sample the incoming data stream. A solution typically used in SONET/SDH is to scramble the data with a frame-synchronized scrambler, see, for example, ANSI/ATIS standard T1.105.02 Synchronous Optical Network (SONET)—Payload Mappings, clause 6. A frame-synchronized scrambler 101, as illustrated in FIG. 1A, is one in which the transmitted data is exclusive-ORed bit-by-bit with the output of a pseudo-random sequence generator, with the sequence generator being reset to a known state at the beginning of every frame. The frame-synchronized scramblers are very effective in increasing the transition density to an acceptable level for typical traffic. One drawback of a frame-synchronized scrambler is that it is a known, relatively short (27−1) pseudo-random sequence, and it is possible for a malicious subscriber to attempt to mimic this pattern within the data the malicious subscriber sends. The result is that if the subscriber data lines up with the SONET/SDH scrambler correctly, a long string can occur with no transitions, which in turn can cause the receiver to fail. This phenomenon was observed with early ATM and POS systems and was addressed from the outset with GFP. The solution used for each of these three protocols is a self-synchronous scrambler over the payload region of the cell/packet.
A self-synchronous scrambler 102, as illustrated in FIG. 1B, is one in which the data is exclusive-ORed with a delayed version of itself on a bit-by-bit basis, which is effectively a GF[2] division process. The specific scrambler used for ATM, POS, and GFP exclusive-ORs the input data with scrambler output data after a 43-bit delay, see, for example, U.S. Pat. No. 6,609,226 to Figueira. In other words, they use an x43+1 scrambler polynomial. The descrambler 103 reverses the process by multiplying the received signal by the same scrambler polynomial. The advantage to such a scrambler in this application is that it is relatively hard for a malicious user to duplicate due to its length and not having a known reset point. The value of the scrambler state is function of the previous data rather than the position of the data within the SONET/SDH frame. A drawback to a self-synchronous scrambler 102 is that errors occurring on the transmission channel will be duplicated 43 bits later by the descrambler 103. As a result, an error detection/correction code over the data will have to deal with twice the number of bit errors as that experienced by the transmission channel.